Refactoring for reuse: an empirical study

نویسندگان

چکیده

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies design through applying patterns and removing defects, little known about how developers actually refactor their code improve its reuse. Therefore, we extract, from 1,828 open source projects, a set of refactorings that were intended reusability. We analyze impact reusability on state-of-the-art metrics, compare distribution types, with remaining mainstream refactorings. Overall, found applied in context reusability, different types development. In performed files are subject more level Reusability significantly impact, high-level elements, such as packages, classes, methods, while typical refactorings, all including identifiers, parameters. These findings provide practical insights into current reuse involving act refactoring.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Empirical Study on Refactoring Activity

This paper reports an empirical study on refactoring activity in three Java software systems. We investigated some questions on refactoring activity, to confirm or disagree on conclusions that have been drawn from previous empirical studies. Unlike previous empirical studies, our study found that it is not always true that there are more refactoring activities before major project release date ...

متن کامل

Search-based refactoring: an empirical study

Object-oriented systems that undergo repeated addition of functionality commonly suffer a loss of quality in their underlying design. This problem must often be remedied in a costly refactoring phase before further maintenance programming can take place. Recently search-based approaches to automating the task of software refactoring, based on the concept of treating object-oriented design as a ...

متن کامل

An Empirical Evaluation of Refactoring

This paper presents a process evaluation for the agile technique of refactoring based on the language C. The basis for this evaluation is made up by an experiment which is targeted on the aspects of increased maintainability and modifiability. Although the maintainability test shows a slight advantage for refactoring, results show no significant strength here. Concerning modifiability, the over...

متن کامل

Reuse Based Refactoring Tools

Current refactoring tools work on a particular language. Each time it is intended to provide refactoring support for new languages, the same refactoring operations are defined and implemented again from scratch. This approach ignores reuse opportunities in this matter. It is possible to define a way of collecting code information suited for several languages (a family of languages) and define r...

متن کامل

An Empirical Study on Refactoring Objects to Aspects

It has been proclaimed in the literature that AOP allows obtaining better modularized systems than those built with OOP, namely by reducing tangling and scattering. Very few quantitative studies sustaining that claim were published. None is known to contradict it. We brie y describe an assessment process that allows performing paradigmindependent modularity assessments, based on a metamodel dri...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Innovations in Systems and Software Engineering

سال: 2022

ISSN: ['1614-5054', '1614-5046']

DOI: https://doi.org/10.1007/s11334-021-00422-6